Enviado por: MaKa
Fecha: 1073364885
Actualizado: 1074896433
¿Usa base de datos?: 1
Fecha: 1073364885
Actualizado: 1074896433
¿Usa base de datos?: 1
Visitas: 928
Votos: 0
Descargado: 17 veces
Votos: 0
Descargado: 17 veces
AÑADIR NIVELES DE USUARIOS AL SISTEMA DE ELECTROS
INSTALACION:
*Una vez instalado el sistema de usuarios de electros, debes de agregar un campo más a la
tabla de usuarios:
ALTER TABLE `usuarios` ADD `nivel` INT( 1 ) UNSIGNED DEFAULT '1' NOT NULL AFTER `contrasena` ;
*Después edita el ulogin.php y localiza la siguiente línea.
$resp = mysql_query("select contrasena from usuarios where nick='$_COOKIE[unick]'") ;
*Ahora debes de añadir ,nivel después de contrasena. Te quedará así:
$resp = mysql_query("select contrasena,nivel from usuarios where nick='$_COOKIE[unick]'") ;
*Copia los archivos de este zip a tu sitio web y ya está.
FUNCIONAMIENTO:
Los niveles van del 1 al 10, siendo 10 el de más rango, pudiendo entrar en todos
niveles por debajo, y el nivel 1 es el nivel raso (usuarios recien registrados).
Un usuario con nivel 6 p.ej., puede entrar en paginas que requieran nivel 1,2,3,4,5 y 6
pero no en las superiores.
Para poner nivel de acceso 4 a una página (p.ej.) deberás de poner la siguiente línea
al principio del todo de la pagina:
<? include("ulogin4.php") ; ?>
Para poner nivel 8: <? include("ulogin8.php") ; ?>
etc, etc.
Para nivel 1 puedes dejarlo como lo tenías antes <? include("ulogin.php") ; ?>
o poner ulogin1.php Eso ya, tu mismo.
ARCHIVOS:
univeles.php
editanivel.php
unonivel.php
ulogin1.php, ulogin2.php... ulogin10.php
univeles.php:
Desde aquí modificamos los niveles de los usuarios. Protege bien esta página, puedes
poner un nivel de protección si hay varios administradores, o sino pon el siguiente
código al principio de la pagina.
<?
// Pon aqui tu nick:
$administrador = Tu_nick_aqui ;
if($HTTP_COOKIE_VARS[unick] != "$administrador") {
echo "Solo el administrador puede conceder niveles" ;
exit;
}
?>
<script>
function revisar() {
if(editanivel.nivel.value > "9") { alert('El nivel tiene que ser un valor entre 1 y 9') ; return false ; }
if(editanivel.nivel.value < "1") { alert('El nivel tiene que ser un valor entre 1 y 9') ; return false ; }
}
</script>
<?
include("config.php") ;
if($u) {
$resp = mysql_query("select id,nick,nivel from usuarios where id='$u'") ;
$datos = mysql_fetch_array($resp) ;
echo "
<form name=editanivel action=editanivel.php method=post onsubmit=\"return revisar()\">
<table border=0 cellpadding=2 cellspacing=0>
<tr>
<td><b>Nick:</b></td>
<td><input name=nick value=$datos[nick] type=text readonly=true></td>
</tr>
<tr>
<td><b>Nivel:</b></td>
<td>
<input name=nivel type=text value=$datos[nivel] size=1 maxlength=1>
<input type=submit name=editar value=Editar class=form>
</td>
</tr>
</table>
</form>
<br>
<a href=javascript:history.back(1)>Volver a lista de Niveles</a>
" ;
}
else
{
?>
<form name="form1" method="post" action="<?PHP $PHP_SELF ?>">
Ordenar por: <select name="orden" id="orden" onChange="submit()">
<option></option>
o <option>nick</option>
<option>fecha</option>
<option>nivel</option>
</select>
</form>
<?
if($orden == '') {
$orden = nick ;
}
$resp = mysql_query("select id,nick,nivel,fecha from usuarios order by $orden asc") ;
$usuarios = mysql_num_rows($resp) ;
echo "
<table border=0 cellpadding=5 cellspacing=1>
<tr bgcolor=#679CD8>
<td><b>Nick</b></td>
<td><b>Antiguedad</b></td>
<td><b>Nivel</b></td>
</tr>
" ;
while($datos = mysql_fetch_array($resp)) {
$fecha = $datos[fecha] ;
$mesesano = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre") ;
$diasemana = date(w,$fecha) ; $diames = date(j,$fecha) ; $mesano = date(n,$fecha) - 1 ; $ano = date(Y,$fecha) ;
$fecha = "$diames de $mesesano[$mesano] del $ano" ;
echo "
<tr bgcolor=#D8F3FC>
<td>$datos[nick]</td>
<td>$fecha</td>
<td align=center><b><a href=?id=univeles&u=$datos[id]>$datos[nivel]</a></b></td>
</tr>
" ;
}
echo "</table>" ;
}
mysql_free_result($resp) ;
mysql_close($conectar) ;
?>
editanivel.php:
Este archivo solo procesa el cambio de niveles, protegelo tb como el anterior.
<?
include("config.php") ;
mysql_query("update usuarios set nivel='$nivel' where nick='$nick'") ;
mysql_close($conectar) ;
echo " El usuario <b>$nick</b> a sido puesto a Nivel: <b>$nivel</b>
<br><br>
<a href=\"univeles.php\">Volver a la lista de usuarios y Niveles</a>
<br><br>
<a href=\"javascript:history.back(1)\">Volver a cambiar el nivel a $nick</a>
"
?>
unonivel.php:
Página que se muestra cunado un usuario accede a una que no tiene suficiente nivel.
<div align="center">
<p>Lo siento <b><? echo $_COOKIE["unick"] ?></b>, no tienes nivel de usuario suficiente para ver esta página.</p>
<p><a href="index.php">Volver</a></p>
</div>
los ulogins los tienes en el zip.
----------------------------------------------
JOsé Manuel
http://manuel.freedatos.com/
----------------------------------------------